{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# SVM on Pima Indians Diabetes Data Set\n",
    "\n",
    "数据说明：\n",
    "Pima Indians Diabetes Data Set（皮马印第安人糖尿病数据集） 根据现有的医疗信息预测5年内皮马印第安人糖尿病发作的概率。   \n",
    "\n",
    "数据集共9个字段: \n",
    "0列为怀孕次数；\n",
    "1列为口服葡萄糖耐量试验中2小时后的血浆葡萄糖浓度；\n",
    "2列为舒张压（单位:mm Hg）\n",
    "3列为三头肌皮褶厚度（单位：mm）\n",
    "4列为餐后血清胰岛素（单位:mm）\n",
    "5列为体重指数（体重（公斤）/ 身高（米）^2）\n",
    "6列为糖尿病家系作用\n",
    "7列为年龄\n",
    "8列为分类变量（0或1）\n",
    "\n",
    "数据链接：https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入必要的包\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.metrics import log_loss\n",
    "from sklearn.metrics import accuracy_score\n",
    "from matplotlib import pyplot\n",
    "import seaborn as sns\n",
    "%matplotlib inline\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入数据集\n",
    "train = pd.read_csv(\"diabetes.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "#数据预处理\n",
    "y_train = train['Outcome']\n",
    "X_train = train.drop([\"Outcome\"],axis = 1)\n",
    "\n",
    "#s数据标准化\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "#初始化标准化器\n",
    "ss_X = StandardScaler()\n",
    "\n",
    "#训练数据标注化处理\n",
    "X_train = ss_X.fit_transform(X_train)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7747395833333334\n",
      "{'C': 0.01}\n"
     ]
    }
   ],
   "source": [
    "#线性SVM\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "Cs = [0.001,0.01,0.1,1,10,100,1000]\n",
    "param_grid = {'C':Cs}\n",
    "grid = GridSearchCV(SVC(kernel = 'linear'),param_grid,cv = 5)\n",
    "\n",
    "grid.fit(X_train,y_train)\n",
    "print(grid.best_score_)\n",
    "print(grid.best_params_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### RBF核SVM正则参数调优\n",
    "\n",
    "RBF核是SVM最常用的核函数。\n",
    "RBF核SVM 的需要调整正则超参数包括C（正则系数，一般在log域（取log后的值）均匀设置候选参数）和核函数的宽度gamma\n",
    "C越小，决策边界越平滑； \n",
    "gamma越小，决策边界越平滑。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.77734375\n",
      "{'C': 1, 'gamma': 0.01}\n"
     ]
    }
   ],
   "source": [
    "gammas = [0.0001,0.001,0.01,0.1,1]\n",
    "param_grid = {'C':Cs,'gamma':gammas}\n",
    "grid = GridSearchCV(SVC(kernel = 'rbf'),param_grid,cv = 5)\n",
    "grid.fit(X_train,y_train)\n",
    "print(grid.best_score_)\n",
    "print(grid.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#CV误差曲线\n",
    "test_means = grid.cv_results_['mean_test_score']\n",
    "test_stds = grid.cv_results_['std_test_score']\n",
    "\n",
    "n_Cs = len(Cs)\n",
    "number_gamms = len(gammas)\n",
    "\n",
    "test_scores = np.array(test_means).reshape(n_Cs,number_gamms)\n",
    "test_stds = np.array(test_stds).reshape(n_Cs,number_gamms)\n",
    "\n",
    "x_axis = np.log10(Cs)\n",
    "for i,value in enumerate(gammas):\n",
    "    pyplot.plot(x_axis,test_scores[:,i],label = gammas[i])\n",
    "    \n",
    "pyplot.legend()\n",
    "pyplot.xlabel('log(C)')\n",
    "pyplot.ylabel('accuary')\n",
    "pyplot.savefig('SVMGridSearchCV_C.png')\n",
    "\n",
    "pyplot.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
